home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr12 / toplib50.zip / METHODS.TXT < prev    next >
Text File  |  1993-06-01  |  32KB  |  637 lines

  1.                              Techniques in Cracking
  2.                             Brought to you by -TOP-
  3.                      We are Tired of Protection. Arent You?
  4.  
  5.         The Following Information provided is a listing of some techniques the
  6. -TOP- crackers have used in cracking Programs.  This is NOT intended as a
  7. Cracking Tutorial but as an enhancement to people who need to know just a bit
  8. more in order to crack a certain program.  -TOP- Crackers have spent time and
  9. effort in comming up with these techniques. Get what information you can from
  10. it.  It will be updated each new Issue.
  11.  
  12. Listing of Techniques
  13. 1. Goldrush
  14. 2. Space Ace
  15. 3. SimEarth
  16. 4. StarControl 1
  17. 5. Bo Jackson Baseball
  18. 6. Mike Dikta Football
  19. 7. Con>Format 1.06
  20. 8. The Summoning
  21. 9. Martian Dreams
  22. 10. Sargon V
  23. 11. Secret Weapons of the Lutewaffa
  24. 12. Crimewave
  25. 13. 3 on 3: The Dream Team.
  26. 14. JACK 4.59: Landscape Designer
  27. 15. Blue Wave Reader v 2.1
  28. 16. Giflite v 2.0
  29. 17. Veil of Darkness
  30. <*****************************************************************************>
  31. Unprotect for GoldRush by Sierra!
  32.  
  33. **********************************
  34. Sierra's Doc check  AARGH!
  35. **********************************
  36.  
  37. This one is a royal pain to do manually however, here it goes:
  38.  
  39.         Using norton DE/Pctools enter the file AGI.
  40.         Look at the beginning of the file and start at the A
  41.         in 'Adventure game...' and enter the numbers on the
  42.         lefthand side of the screen.  For those interested the
  43.         assembly code is on the right.
  44.  
  45.         90                      NOP
  46.         9C                      PUSHF
  47.         50                      PUSH AX
  48.         53                      PUSH BX
  49.         56                      PUSH SI
  50.         8B 1E AA 00             MOV BX, [AA]
  51.         BE E3 73                MOV SI, 73E3
  52.         46              SCAN:   INC SI
  53.         38 1C                   CMP [SI],BL
  54.         75 FB                   JNZ SCAN
  55.         8A 44 07                MOV AL, [SI+7]
  56.         A2 F7 00                MOV [F7], AL
  57.         5E                      POP SI
  58.         5B                      POP BX
  59.         58                      POP AX
  60.         9D                      POPF
  61.         C3                      RET
  62.  
  63.  
  64.         That is only part one, part two is shorter:
  65.  
  66.         Using norton's DE or Pctools search 'AGI' for:
  67.  
  68.         8A 87 09 00 00 85 09 00
  69.         ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
  70.         90 90 90 90 2E E8 15 89
  71.  
  72.         In Assembler:           NOP
  73.                                 NOP
  74.                                 NOP
  75.                                 NOP
  76.                                 CALL CS:0
  77.  
  78. ***********************************************************************
  79. TO BYPASS THE PROTECTION YOU MUST ENTER AT LEAST ONE LETTER FOLLOWED BY
  80.                      *****THE ENTER KEY*****
  81.  
  82. The method involved:
  83.         Sierra programs are a royal pain and even the old ones take me a
  84. long time to crack.  This one lets you type in an answer.  I did a
  85. search through memory to find the answer and then did a break if any
  86. letter was read of the answer.  I followed it through and found the the
  87. program added the letters up into a single number (at ds:f7).  I
  88. followed this and found a compare that accessed this number.  However, I
  89. could not find anyplace to put a crack in so I went back to find how the
  90. answer was obtained.  What a royal pain.  I found a number that was used
  91. to index into a block of memory that had all the answer numbers  --no
  92. words, just numbers (started at ds:73e4).  The program would compare its
  93. index number to sub-blocks until it found the right number.  It then
  94. would scan a bit further until it found the number and then did its
  95. compare.  However, it was not done until it scanned the entire block for
  96. any other equal numbers.  So the crack involves using spare room inside
  97. the sierra file AGI, grabbing the index number (at ds:aa) and scanning
  98. through the memory block (starting at ds:73e4).  Once the right
  99. sub-block was found a went a bit further and took the number there and
  100. put it back at ds:f7--which was where the program looks for my answer.
  101. The second part of the crack is to call the subroutine.
  102.  
  103.                                                 The Mad Doctor
  104.                                                 -TOP- crack.
  105. <*****************************************************************************>
  106. Cracker:  The Mage
  107. Program:  Space Ace.
  108.  
  109.         A Little Description of the Copy-Protection.  The Copy Protect was
  110. Off of a main loop.  It was integrated into the program.  A Main screen popped
  111. up and it went in 4 different directions.  One of these Directions led to the
  112. Copy Protection screen which THEN let you into the game.  The Game was also in
  113. this main loop and so Nopping out the CALL would not avail me.
  114.         I searched the code through and through and found that it was using a
  115. interesting comparison scheme to determine the Screens with which to load based
  116. on 4 different variables and Combinations thereof.  This was interesting.  I
  117. had to re-program the code to make it go to regular locations 3 out of 4 times
  118. and the 4th time force it to jump to the game.  This required some programming
  119. and Assembly knowledge.  The Copy Protection itself was different than any
  120. others I have seen, or the way I got passed it was different.
  121. <*****************************************************************************>
  122. Cracker:  The Mage and Majik
  123. Program: Sim Earth
  124.  
  125.         Some Background on the game..  When you load up the game it pops into a
  126. nice menued system.  This system allowed you to mess around But on 2 different
  127. Commands (New Planet and Load Planet I think) had a DOC check.  Now since there
  128. was more than one CALL to the same procedure Majik had an Idea.  Since it was a
  129. window based system and you wouldn't be expected to keep answering the DOC
  130. check, it seemed that there must be a counter or something that checked if you
  131. had answered the question BEFORE asking it.
  132.         Entering Into the CALL we did some quick checking and sure enough right
  133. at the beginning of the call was a comparision that jmped pretty much to the
  134. end of the procedure.  Well by simply forcing this to happen you never saw the
  135. CP again.
  136.         A HINT to people who usually just NOP out calls.  NOP'ing out CALL's
  137. works a lot of the time but I would suggest that you completly play the game
  138. before you consider it cracked.  By removing the CALL statement it just removes
  139. that current CP but it may also be called later on in the program which would
  140. then mean additional Removals.  Look inside each CALL and see if there is a
  141. simple way to JMP to the end of the CALL and thus eliminating that possibility.
  142.  
  143.  
  144. <*****************************************************************************>
  145.  
  146. Unprotect for Starcon!
  147.  
  148. **********************************
  149. Documentation Check
  150. **********************************
  151.  
  152. use Pctools/Norton's DE and search STARCON.OVL for:
  153. FE 00 75 03 E9 4C
  154.       ^^ ^^
  155.       EB 2A
  156.  
  157. The method involved:
  158.         Actually not hard.  I uncompressed starcon.exe with unlzexe to
  159. make it easier to follow through and also to find the proper bytes if I
  160. needed to but this wasn't necessary.  By running through the code I
  161. found the doc check.  I found right after it where the program loaded
  162. the addresses of my answer and the programs answer with a compare
  163. statement and conditional jump afterward.  I just made the program jump
  164. immediately to that area.  I could have made it so the screen would not
  165. even show up but you would have seen some garbage on the screen and it
  166. would have been a messier crack.  Enjoy!
  167.  
  168.                                                 The Mad Doctor
  169.                                                 -TOP- crack.
  170. <*****************************************************************************>
  171. Unprotect for The Bo Jackson Baseball!
  172.  
  173. **********************************
  174. Pathetically simple protection
  175. **********************************
  176.  
  177. Bo Jackson Baseball is another one of those protection checks in which
  178. you need your manual to answer a question.
  179.  
  180. use Pctools/Nortons search for  (in BALL.EXE)
  181. 9A 4C 04
  182. ^^ ^^
  183. EB 14
  184.  
  185. The method involved:
  186.         The method here is so simple I am embarassed to relate it to
  187.         you.  I ran the program once to see what the protection was.  It
  188.         was one of those generic protection checks.  I let the
  189.         protection kill the game and restarted it again under soft-ice.
  190.         This time I timed it a bit and stopped the program before it got
  191.         to the doc check.  I stepped through it with soft-ice and found
  192.         2 calls that ran the protection.  A few steps later I found a
  193.         conditional jump that went to the rest of the game.  So I tried
  194.         the simplest thing.  I put a JMP statement to the rest of the
  195.         game and it worked!  I then went into norton diskedit and
  196.         searched for the bytes.  It wasn't there, so I searched for a
  197.         shorter string (as above) and there was only one string like
  198.         that in the program.  I made the changes above and it works!
  199.         Enjoy!
  200.                                                 The Mad Doctor
  201.                                                 -TOP- crack.
  202. <*****************************************************************************>
  203. Unprotect for Mike Ditka Football!
  204.  
  205. **********************************
  206. Documentation Checks and Checksums
  207. **********************************
  208.  
  209. Mike Ditka football has the standard documentation checks but also has
  210. some checksums early on that also have to be fixed.  This is a 3 part
  211. unprotect.
  212.  
  213. use Pctools/Nortons search for  (in MDFB.EXE)
  214. Part 1:    75 6B 05 00
  215.            ^^ ^^
  216.            90 90
  217.  
  218. re-search MDFB.exe for:
  219. Part 2:    75 12 8E 46
  220.            ^^ ^^
  221.            90 90
  222.  
  223. now look in DAT101.DAT for:
  224. part 3:    E8 A1 B7 B8 01
  225.            ^^ ^^ ^^
  226.            90 90 90
  227.  
  228. The method involved:
  229.            This program uses the doc check which is not too difficult to
  230.            find.  If you let the program run and then stop it with
  231.            soft-ice just prior to when the doc check pops up you will
  232.            find a call routine that calls the doc check up.  If you NOP
  233.            it out you then go right to the main menu.  OK, now we go to
  234.            norton's diskedit and make the changes and run the program.
  235.            Drat! the program says bad overlay--obviously someone put a
  236.            checksum to prevent exactly what I did.  No problem, lets go
  237.            back into soft-ice and run the program using the soft-ice
  238.            again and stopping the program before it gets to that
  239.            bad overlay statement.  I then find a call routine that makes
  240.            the statement and 2 conditional jumps that will lead up to
  241.            that call.  So, I NOP them out and it works.  I then went
  242.            back to diskedit and made the changes.  Now, it works.  Enjoy!
  243.  
  244.                                                 The Mad Doctor
  245.                                                 -TOP- crack.
  246.  
  247. Addendum:  This program was already supposedly cracked by others.  It is
  248. interesting that their crack works when I use soft-ice but does not work
  249. without it.  This crack works period.
  250.  
  251. <*****************************************************************************>
  252. Another fine patch courtesy of Majik..
  253. Con>Format is a fine product, but the opening banner is a pain in the you
  254. know what, and requires a keypress, which kinda ruins putting it in
  255. autoexec.bat....(I use loadhi from QEMM so it's always there but uses no
  256. conventional memory).
  257. ok, here is  a step-by-step for version 1.06
  258. 1st!!!!! Run the configuration program to setup your system
  259. 2. debug confmt.com
  260. -r   ;To display registers upon entry - write down cx's value
  261.  
  262. AX=0000  BX=0000  CX=3560  DX=0000  SP=FFFE  BP=0000  SI=0000  DI=0000
  263. DS=24FE  ES=24FE  SS=24FE  CS=24FE  IP=0100   NV UP EI PL NZ NA PO NC
  264. 24FE:0100 E93F35        JMP     3642
  265. keep pressing p (to proceed) until you see the following...
  266.  
  267. 24FE:365C FF264036      JMP     [3640]                          DS:3640=266A
  268. -                                                      write this down ^^^^^
  269. -p                                                                     |
  270. This has just completed the de-cryption algorithm for the TSR.         |
  271. So we will code around that for future start-up.                       |
  272. -a cs:100                                                              |
  273. 24FE:0100 jmp 266a <--- This should be what you wrote down up here  -> |
  274. 24FE:0103  <ENTER>
  275. Now to get rid of that opening screen...
  276. 24FE:2697 E8B40D        CALL    344E  This is the call to the opening screen
  277. -e 2697
  278. 24FE:2697  E8.90       So we will NOP it out....
  279. 24FE:2698  B4.90   0D.90
  280. -r cx
  281. CX 0000
  282. :3560                 Enter the value from step 2 above.
  283. -n cf.com             Rename the working program to whatever you like
  284. -w                    Write it to disk
  285. writing 3560 bytes
  286. -q                    Enjoy.... Majik
  287. <*****************************************************************************>
  288. Unprotect for The Summoning!
  289.  
  290. **********************************
  291. Graphical documentation check
  292. **********************************
  293.  
  294. use Pctools/Norton's DE and search 'CODE.1' for:
  295. A3 CC 0C 56 57 0E
  296.          ^^ ^^
  297.          EB 16
  298.  
  299. The method involved:
  300.         I ran the program with Soft-Ice and saw what the protection
  301. looked like on the screen.  I then went back, ran the program and
  302. stopped it early to see what was going on.  The program is fairly
  303. straightforward with individual call routines doing individual things.
  304. I quickly got to the protection portions and found two calls that
  305. brought up the protection screen and the second actually did the test
  306. for the answer and returned back where it checked ax to see if it was
  307. zero or not.  If it wasn't zero it wouldn't let you continue with the
  308. game.  I just jumped past the entire section and it worked!  Enjoy!
  309.  
  310.                                                 The Mad Doctor
  311.                                                 -TOP- crack.
  312.  
  313. <*****************************************************************************>
  314. Unprotect for Martian Dreams!
  315.  
  316. Use your PC Tools or Norton Diskedit on the file game.exe
  317.  
  318. search for the hex string:
  319. 74 08 8b 5e 0a
  320. ^^                 replace the 74 with:
  321. eb
  322. When the protection check comes up just press enter and it will work!
  323.  
  324. The method involved:
  325.         The difficulty in breaking this game wathat the program seemed
  326.         to be using the same sets of code no matter what it did and this
  327.         was extremely frustrating.  I was trying to stop the protection
  328.         routine from even coming up.  I was unable to do this so I went
  329.         for the next best thing, I inactivated the doc check.  Here's
  330.         how:  when you try to get out of the spaceship with the prybar
  331.         is when the protection springs up.  Tesla asks you a question
  332.         from the manual.  I filled in a word and then stopped the
  333.         program with soft-ice and searched for it in memory.  I found it
  334.         at:    4161:eca8
  335.         I then put a watch on it with the bpmb command in S-I.  By
  336.         following what the program was doing with my answer I found that
  337.         it moved it to another location:
  338.                4161:fe6e
  339.         I then stopped by other watch and followed this memory location.
  340.         Lo and behold I found it was comparing my answer to a memory
  341.         location with the answer!
  342.                4161:ec8e
  343.         I figured this out by changing my answer to the word found at
  344.         this location and the program worked.  However, I needed more
  345.         than this.  So, I started again and followed the location of the
  346.         answer until I got to a section of the code where there was a
  347.         comparison between my answer and their answer followed by a
  348.         conditional jump.
  349.                POP CX     (not obvious here but now one register has one
  350.                POP DX      letter or my answer and one of the real answer)
  351.                CMP DX,AX  (if they are not the same then you lose)
  352.                JNZ 004C   (this is what I changed to a JMP statement so it
  353.                            doesn't matter what your answer is now)
  354.         I just changed that conditional jump to a regular jump and it works.
  355.         Enjoy!
  356.  
  357.  
  358.                                                 The Mad Doctor
  359.                                                 -TOP- crack.
  360.  
  361. <*****************************************************************************>
  362. Unprotect for Sargon 5
  363.  
  364. *******************
  365. Documentation Check
  366. *******************
  367.  
  368. Using Norton's Diskedit or PCTools:
  369.  
  370. Search the file  sargon5.exe for the following:
  371.  
  372. 8e d6 eb a8
  373. ^^ ^^
  374. d1 17
  375.  
  376. and that's it!
  377.  
  378. The method involved:
  379.  
  380.         Sargon 5 uses a standard documentation check.  If you run the
  381. program under soft-ice and break it prior to the doc check you will find
  382. the call statement that will call the doc check routine.  On my setup:
  383.         program start 1a66:0
  384.         call routine  2fba:32be
  385. I ran through the call routine and input some letters.  Instead of
  386. running the entire doc check I set soft-ice to look for my letters and
  387. stop the program when accessed.  This brought me near the end of the
  388. routine.  I went a bit farther and noticed a compare statement followed
  389. by a conditional jump (at 2fba:4a92).  I changed the condition of the jump
  390. and lo! it worked.  However, I didn't like this crack (too much work for
  391. the gamer) and went back to the jump.  After the conditional jump there
  392. were 2 mov statements and a return.  So, I went back to the call routine
  393. and made the call go just to the end of the protection routine where the
  394. mov statements were and that was it.  Now I had to find it by
  395. diskedit--however it wasn't there.  So, since I knew where I wanted to
  396. change memory I put soft-ice watching the spot.  Soft-ice stopped the
  397. program and I saw a movsb statement which had the area I wanted.  That's
  398. it--this was a more in depth discussion than usual, it wasn't hard at
  399. all.  Bye!
  400.           
  401.                                                 The Mad Doctor
  402.                                                 -TOP- crack.
  403.  
  404. <*****************************************************************************>
  405.                     Secret Weapons of the Lutwaffe Unprotect
  406.                               Cracked By The Mage
  407.  
  408. Type of Check:  Doc Check in the Beginning of the Game.
  409. What was done:  Enabled it to press Enter 3 Times and you are into the Game.
  410.    Very Sloppy, but works perfectly.  Not bad for a 15 minute crack.
  411.  
  412. Method Involved.
  413.         While talking to The Mad Doctor and while we were working on Tony
  414. Larussa's Ultimate Baseball he showed me a new technique for cracking that I
  415. had not thought of..  simple and easier.  Anyways, At the DOC check you type in
  416. a Name (any name, I use MAGE) and then you search memory for the name.  Search
  417. from the first program block on up into memory.  You them in SOFT-ICE put a
  418. Break point on Memory Access and Read.  You then continue the program and press
  419. enter to finish the check.  You will have reads on the memory and chances are
  420. you will find a CMP to that memory location and a simple jmp afterwards.  This
  421. also helps you stay in the Copy Protection routines.  Well It wasn't as simple
  422. as all that and what I had to do was jump over a lot of checking code.  I found
  423. a JMP to a far location and used it by taking a much earlier JAE and changing
  424. it to JMP to the far location and whammo bypassed the code and enabled you to
  425. get into the program.  Since it was doing overlays I wasn't sure where the call
  426. was to the whole program so I left it at hitting enter 3 times and into the
  427. game you go.
  428.  
  429. Anyways Get out DiskEdit/Pctools andd search
  430. the file NOTCAMP.OVL
  431. Search for: 73 74 8B 5E
  432. Change to : E9 64 02
  433.             ^^ ^^ ^^
  434.  
  435. And that is it!
  436.  
  437. Thanks and greets go to everyone in -TOP-.  thanks to The Mad Doctor for the
  438. new Technique in my collection.
  439.                                                 The Mage
  440. <*****************************************************************************>
  441.                        Unprotect for Crime Wave by Access
  442.                               Cracked by The Mage
  443.                                     --------
  444.  
  445. Type of Protection:  Doc check at the Beginning of the program.
  446. What was done:  A JZ changed to JMP.
  447. Method Involved.
  448.         Well I loaded this sucker up and the program was using interupts to
  449. process strings so I could not search through memory for a sample string
  450. that I inputed.  Since at the Doc check itself it was sitting in DOS and I/O
  451. system blocks of memory I put in a bad value and got a PRESS ESC or SPACE BAR
  452. message from the program.  I then traced to where it compared to a space
  453. like CMP AH,20 and set this to true.  Then a Simple trace to where it compared
  454. the answer after the Interupt and a change and simple..  all of 7 minutes while
  455. talking on the phone..  <grin>  Very Very Easy.  I tried taking out the call
  456. completely but was unable to do so without extensive work.
  457.  
  458. Get out Norton/Pcshell
  459. Search the File CW.EXE
  460. Search for: 80 3D 00 74 05
  461. Change to:  -- -- -- EB --
  462.  
  463. And save it and press enter at the DOC check.  You are in!
  464.                                                         The Mage
  465.  
  466. <*****************************************************************************>
  467. ---------                         By Gron                           -----------
  468. ---------     3 on 3 Basketball : The Dream Team by Data East       -----------
  469.         Protection : Doc Check
  470.  
  471.         Search : DREAM.EXE
  472.  
  473.         Locate : 7D 00 75 55 C6 06                 
  474.         Replace:       EB
  475.         
  476.         Method : After loading the game into memory, I ran the program
  477.                  until the doc check popped up.  I then kicked out to
  478.                  Soft-Ice and traced until I found where it was looking
  479.                  for a compare to 0D which is the ENTER key.  I then traced 
  480.                  until it failed the protection.  This brought me back to
  481.                  the original CALL which was used to get keyboard input, 
  482.                  followed by a conditional jump.  Since the program did not
  483.                  jump with my bogus input, I changed the conditional jump
  484.                  to an unconditional one.  This worked beautifully.  However,
  485.                  the protection scheme still came up and forced the user to 
  486.                  enter three numbers before it would go on.  
  487.  
  488.                  Therefor, I looked back in the code and discovered that
  489.                  immediately before the CALL which asked for input there were
  490.                  a series of CALLs and jumps.  I noted the address of the 
  491.                  last jump in that series which jumped just beyond where the
  492.                  conditional jump I had changed earlier was jumping.  I 
  493.                  reloaded the program and ran to the address I had noted.  The
  494.                  protection scheme had yet to come up.  I changed the
  495.                  conditional jump to an unconditional one and continued 
  496.                  running the program.  It went right to the main menu, 
  497.                  bypassing the protection entirely.  After playing the game 
  498.                  for an hour or so, the protection never again surfaced nor 
  499.                  did any noticeable side-effects of the change.
  500.                
  501. <*****************************************************************************>
  502.                             Unprotect for JACK 4.59
  503.                           Cracked by The Mage and Gron
  504.                                  --------------
  505.  
  506. Type of Protection:  Password Entry
  507. What was done:  Removed Protection entirely
  508. Method:
  509.         It came up with a screen to hit enter before the copy protection was
  510. shown.  Broke into the code and just traced until the call to the copy
  511. Protection.  Noped it out and it ran like a champ.  Problem arose in that the
  512. call was a CALL FAR and this could not be found when Hex Searching.  So traced
  513. 1 statement into the CALL and JMP'd to the RETF (end of the CALL) and this was
  514. in the Hex Search.  One Note:  This Program Sucks.
  515.  
  516. Anyways Search the File JACK1.EXE
  517. Search for : CD 3F 14 10
  518. Change to  : E9 8D 01 90
  519.  
  520. You are done
  521.                                                                 Later
  522.                                                                 The Mage
  523.  
  524. <*****************************************************************************>
  525. -------------------------------------------------------------------------------
  526. ---------                  Another -TOP- unprotect                  -----------   
  527. ---------                         By Gron                           -----------
  528. ---------                                                           -----------
  529. ---------    Blue Wave Offline Mail Reader 2.10 by Cutting Edge     -----------
  530. -------------------------------------------------------------------------------
  531.  
  532.         Protection : Registration Number
  533.  
  534.         Search : BWAVE.EXE
  535.  
  536.         Locate : 06 A2 00 00 5E 8B
  537.         Replace:          01
  538.         
  539.         Method : After loading the program into memory, I traced until I 
  540.                  found the CALL that brought up the UNREGISTERED screen. 
  541.                  Immediately before this CALL was a CMP AX,0000 and a
  542.                  JNZ XXXX which jumped over the offending CALL.  I looked
  543.                  a bit further back in the code and found a MOV AL,[XXXX]
  544.                  and a MOV AH,00.  I reloaded the program and placed a 
  545.                  breakpoint (BPMB) on the DS:XXXX address from earlier.
  546.                  It eventually popped out where it was moving a 00 into that
  547.                  location.  I looked back a bit in code and found a JNZ that
  548.                  had jumped over a MOV that would have placed a 01 into the
  549.                  location.  Rather than change the jump, I simply changed
  550.                  the MOV BYTE PTR [XXXX],00 to a 01.  Since every registered
  551.                  function in the program checked this address, all features
  552.                  are now enabled, as well as any name and registration number
  553.                  will work.
  554.  
  555. <*****************************************************************************>
  556. -------------------------------------------------------------------------------
  557. ---------                  Another -TOP- unprotect                  -----------   
  558. ---------                         By Gron                           -----------
  559. ---------                                                           -----------
  560. ---------            GifLite 2.00 by White River Software           -----------
  561. -------------------------------------------------------------------------------
  562.  
  563.         Protection : Registration #
  564.  
  565.         Search : GIFLITE.EXE (UnPklite)
  566.  
  567.         Locate : C6 06 F3 00 01 C4
  568.         Replace:             00
  569.         
  570.         Method : I loaded the program into memory with no options and 
  571.                  traced through until I found the CALL that brought up
  572.                  the shareware notice.  I then reloaded and traced until
  573.                  I found the series of CALLs that drew each line of the
  574.                  screen.  I then traced until I found a conditional jump
  575.                  immediately preceding a CALL which would draw some 
  576.                  shareware info.  I noted the address being checked, and 
  577.                  changed the JZ to JMP to see what happened.  Sure enough,
  578.                  that shareware section was skipped, but the rest was drawn.
  579.  
  580.                  At this point, I reloaded the program and put a BPMB (Break
  581.                  Point on Memory Byte) on the address I noted earlier.  I 
  582.                  then ran the program until it popped out at a 
  583.                         MOV BYTE PTR [00F3],01
  584.                  Since the compare had been against 00 earlier, I changed the
  585.                  MOV to MOV BYTE PTR [00F3],00.  That was all she wrote.  
  586.  
  587.                  At this point, search the GIFLITE.EXE for "null" and change
  588.                  it to whoever you want the program registered to.  I could
  589.                  have changed the built-in registration (which I probably
  590.                  should have done) to accept any name and registration number, 
  591.                  but I didnt really feel like taking the trouble since I didnt 
  592.                  find it unil I was half-way through this method.
  593.  
  594. <*****************************************************************************>
  595. -------------------------------------------------------------------------------
  596. ---------                  Another -TOP- unprotect                  -----------   
  597. ---------                         By Gron                           -----------
  598. ---------                                                           -----------
  599. ---------      Veil of Darkness by Strategic Simulations Inc.       -----------
  600. -------------------------------------------------------------------------------
  601.  
  602.         Protection : Doc Check
  603.  
  604.         Search : CODE.2
  605.  
  606.         Locate : 26 FE 47 0B 0E E8
  607.         Replace:          0A
  608.         
  609.         Method : I loaded the program into memory and broke into Soft-Ice
  610.                  right before the doc check screen was to come up.  I then
  611.                  traced until I found the CALL to the protection scheme.
  612.                  Immediately before the CALL was a 
  613.                         CMP BYTE PTR ES:[BX+0A],01
  614.                         JZ  XXXX  (beyond the CALL)
  615.                  where ES:[BX+0A] was equal to 00.  I tried changing the
  616.                  01 to a 00 which worked at first.  However, when I attempted
  617.                  to leave the first room in the game, the protection popped
  618.                  up again using the same method as above.  I set a breakpoint
  619.                  (BPMB) on the ES address and reloaded the program.  I didnt
  620.                  find what I was looking for, but I did notice that ES:[BX+0B]
  621.                  was being incremented to 01 a few lines before the first 
  622.                  doc check.  I changed the 0B to a 0A and all the protection
  623.                  disappeared.
  624.  
  625. <*****************************************************************************>
  626. <*****************************************************************************>
  627. <*****************************************************************************>
  628. <*****************************************************************************>
  629. <*****************************************************************************>
  630. <*****************************************************************************>
  631. <*****************************************************************************>
  632. <*****************************************************************************>
  633. <*****************************************************************************>
  634. <*****************************************************************************>
  635. <*****************************************************************************>
  636. End Methods File.
  637.